package router

import (
	"admin-nexus-backend/internal/handler"

	"github.com/gin-gonic/gin"
	"gorm.io/gorm"
)

// SetupAuthRoutes 设置认证相关路由（不需要JWT）
func SetupAuthRoutes(router *gin.RouterGroup, db *gorm.DB) {
	authHandler := handler.NewAuthHandler(db)

	auth := router.Group("/auth")
	{
		auth.GET("/captcha", authHandler.GetCaptcha)    // 获取验证码
		auth.POST("/login", authHandler.Login)          // 登录
		auth.POST("/logout", authHandler.Logout)        // 登出
		auth.POST("/refresh", authHandler.RefreshToken) // 刷新令牌
	}
}

// SetupUserInfoRoutes 设置用户信息相关路由（需要JWT）
func SetupUserInfoRoutes(router *gin.RouterGroup, db *gorm.DB) {
	authHandler := handler.NewAuthHandler(db)

	authGroup := router.Group("/auth")
	{
		authGroup.GET("/userinfo", authHandler.GetUserInfo)           // 获取用户信息
		authGroup.GET("/menus", authHandler.GetUserMenus)             // 获取用户菜单
		authGroup.GET("/permissions", authHandler.GetUserPermissions) // 获取用户权限
	}
}
